package br.ufg.inf.espweb.sgca.web.controller;

import java.io.Serializable;
import javax.annotation.PostConstruct;
import lombok.Getter;
import org.primefaces.model.menu.DefaultMenuItem;
import org.primefaces.model.menu.DefaultMenuModel;
import org.primefaces.model.menu.DefaultSubMenu;
import org.primefaces.model.menu.MenuModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;

/**
 *
 * @author diCastro
 */
@Controller("menuCtrl")
@Scope("request")
public class MenuController implements Serializable {
    
    @Autowired
    private AutenticacaoController autenticacaoController;
    
    @Getter
    private MenuModel menuPrincipal;
    
    @PostConstruct
    public void init(){
        menuPrincipal = new DefaultMenuModel();
        if(autenticacaoController.getUsuario() != null){
            DefaultMenuItem home = new DefaultMenuItem("Início");
            home.setIcon("ui-icon-home");
            home.setUrl("/sistema/home.jsf");
            menuPrincipal.addElement(home);

            DefaultSubMenu cadastros = new DefaultSubMenu("Cadastros");

            DefaultMenuItem cadastroCursos = new DefaultMenuItem("Cursos");
            cadastroCursos.setUrl("/sistema/cadastros/curso/cadastro_curso.jsf");
            cadastros.addElement(cadastroCursos);
            DefaultMenuItem cadastroDisciplinas = new DefaultMenuItem("Disciplinas");
            cadastroDisciplinas.setUrl("/sistema/cadastros/disciplina/cadastro_disciplina.jsf");
            cadastros.addElement(cadastroDisciplinas);
            DefaultMenuItem cadastroDocentes = new DefaultMenuItem("Docentes");
            cadastroDocentes.setUrl("/sistema/cadastros/docentes/cadastro_docentes.jsf");
            cadastros.addElement(cadastroDocentes);

            menuPrincipal.addElement(cadastros);
        }else{
            DefaultMenuItem login = new DefaultMenuItem("Login");
            login.setUrl("/login.jsf");
            login.setIcon("ui-icon-locked");
            menuPrincipal.addElement(login);
        }
    }
}
